package edu.continental.beans;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import edu.continental.bean.Celular;
import edu.continental.bean.Ciudad;
import edu.continental.dao.CelularDAO;

@ManagedBean(name="celularBean")
@SessionScoped
public class CelularBean {

	//Atributos de la clase
	private String nombre;
	private String marca;
	private String modelo;
	
	//Lista de celulares
	private List<Celular> listaCelulares;
	
	public CelularBean() {
		System.out.println("celularBean");
		//listaCelulares = new ArrayList<Celular>();
		
		CelularDAO dao = new CelularDAO();
		
		listaCelulares = dao.listarCelulares();
		/*
		nombre = "sony experia s1";
		marca = "sony experia";
		modelo = "s1";*/
		
	}
	
	//Metodos getters and setters
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getMarca() {
		return marca;
	}
	public void setMarca(String marca) {
		this.marca = marca;
	}
	public String getModelo() {
		return modelo;
	}
	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	public List<Celular> getListaCelulares() {
		return listaCelulares;
	}

	public void setListaCelulares(List<Celular> listaCelulares) {
		this.listaCelulares = listaCelulares;
	}

	//Metodo agregar
	public void agregar() {
		System.out.println("agregar");
		System.out.println("nombre: " + nombre);
		System.out.println("marca: " + marca);
		System.out.println("modelo: " + modelo);
		Celular obj = new Celular();
		obj.setNombre(nombre);
		obj.setMarca(marca);
		obj.setModelo(modelo);
		obj.setId(listaCelulares.size()+1);
		
		listaCelulares.add(obj);
		
		limpiarVariables();
		
	}
	
	public void limpiarVariables() {
		nombre = "";
		marca = "";
		modelo = "";
	}
	
	public void eliminar(String id) {
		System.out.println("eliminar");
		
		int idInt = Integer.parseInt(id);
		
		System.out.println("id: " + id);
		
		//Eliminado en memoria
		/*for ( Celular cel : listaCelulares ) {
			if (idInt == cel.getId()) {
				listaCelulares.remove(cel);
			}
		}*/
		
		//Eliminado de BD
		CelularDAO dao = new CelularDAO();
		dao.eliminar(id);
		
		listaCelulares = dao.listarCelulares();
		
	}
	
	
}
